// pages/home/index.js
const App = getApp()
const date = new Date()
import {
  colors,
  moreList
} from '../../utils/constData'
import {
  getBelongBy
} from '../../utils/api/zhichu'
import {
  sumup,
  sumupByMonth
} from '../../utils/api/home'
Page({
  /**
   * 页面的初始数据
   */
  data: {
    color: colors[0],
    sharList: [{
      nickName: '我',
      userId: '0'
    }], //可分享的人员列表
    sharSelect: '0',
    // 收支结余
    shouzhiList: [{
        title: '收支结余',
        num: '0'
      },
      {
        title: '总支出',
        num: '0'
      },
      {
        title: '总收入',
        num: '0'
      },
    ],
    jiedaiList: [{
        title: '借贷结余',
        num: '0'
      },
      {
        title: '总借贷',
        num: '0'
      },
      {
        title: '总借出',
        num: '0'
      },
    ],
    //快捷导航
    moreList: moreList,
    //年份选择器 默认当年
    dateYear: date.getFullYear(),
    nowall: {},
    //收支结余tab
    tableHeadList: ['月份', '收入', '支出', '结余'],
    table: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {

  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    //获取能分享的人员
    this.getBelongBy()
    //获取资产概况数据
    this.sumup()
    //获取收支结余数据
    this.sumupByMonth()
  },
  /**获取能分享的人数据 请求*/
  getBelongBy() {
    getBelongBy({
      flag: 2
    }).then(res => {
      this.setData({
        sharList:[{
          nickName: '我',
          userId: '0'
        },...res]
      })
    })
  },
  /**资产概况列表 请求*/
  sumup(data) {
    if (data && data.userId === '0') {
      data = {}
    }
    sumup(data).then(res => {
      let obj = [{
          title: '收支结余',
          num: res.residue
        },
        {
          title: '总支出',
          num: res.pay
        },
        {
          title: '总收入',
          num: '0'
        },
      ]
      this.setData({
        shouzhiList: obj
      })
    })
  },
  /**收支结余列表请求 */
  sumupByMonth(data) {

    if (data && data.userId === '0') {
      data = {
        date: data.date
      }
    }
    sumupByMonth(data).then(res => {
      this.setData({
        nowall: res.content,
        table: res.list
      })
    })
  },

  /**分享人员的 点击 组件返回事件
   * 注：该事件会同时触发"资产概括"和"收支结余"的数据请求
   */
  sharFn(e) {
    this.setData({
      sharSelect: e.detail,
      dateYear: date.getFullYear(),
    })
    this.sumup({
      userId: e.detail
    })
    this.sumupByMonth({
      dateStr: this.data.dateYear,
      userId: e.detail
    })
  },
  /**时间选择器 选择年*/
  confirmDate(e) {
    this.setData({
      dateYear: e.detail
    })
    this.sumupByMonth({
      dateStr: e.detail,
      userId: this.data.sharSelect
    })
  },
  /**快捷导航 */
  goPage(e) {
    const url = e.currentTarget.dataset.url
    const type = e.currentTarget.dataset.type
    if (url === '/pages/shouzhi/index') {
      App.globalData.shouzhiTab = type
    } else if (url === '/pages/jiedai/index') {
      App.globalData.jiedaiTab = type
    }
    wx.switchTab({
      url
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },



  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})